/*******************************************************************************
 * 版权：北京润尼尔网络科技有限公司，保留所有版权<br>
 * 版本：v1.0.0<br>
 * 文件：UICompositeCalendar.js<br>
 * 日期：2016年8月8日<br>
 * 作者: 林秀桃<br>
 * 功能：日历组件<br>
 * 
 * 修改记录：<br>
 * 日期 描述 更新功能<br>
 ******************************************************************************/

window.makeNamespace(window,"Rainier.UI.V2");

/**
 * 类型名称：Rainier.UI.V2.UICompositeCalendar<br>
 * 类型功能：实现日历的功能<br>
 */

Rainier.UI.V2.UICompositeCalendar = Rainier.UI.V2.UIComposite.extend({
	
	NAME : "Rainier.UI.V2.UICompositeCalendar",
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeCalendar.init<br>
	 * 函数功能：构造函数<br>
	 * 参数输入：objParentComposite  	父组件实例<br>
	 * 参数输入：objProperties		 	组件属性定义<br>
	 * {
	 * 		width	: "300",			//日历宽度
	 * 		height  : "300",			//日历高度
	 * }
	 * 注：具体参数信息参照easyUI官网该组件Properties。<br>	
	 * 异常信息：无<br>	
	 */
	init : function(objParentComposite,objProperties){
		//使用父类初始化子类对象
		this._super(objParentComposite,objProperties);
	},

	/**
	 * 函数名称：Rainier.UI.V2.UICompositeCalendar.appendEventHandler<br>
	 * 函数功能：添加事件代理<br>
	 * 异常信息：<br>
	 */
	appendEventHandler : function(){		
		this.m_aEventList = ['onSelect',
		                     'onChange'
		                     ];
		this._super();
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeCalendar.createComposite<br>
	 * 函数功能：创建组件<br>
	 * 参数输入：eleParent : 父组件的节点元素<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	//
	createComposite : function(eleParent){
		this._super(eleParent);		
		var newEle = this.CreateElement("div",this.m_objProperties.id);
		eleParent.append(newEle);
		newEle.calendar(this.m_objProperties);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeCalendar.callUiMethod<br>
	 * 函数功能：添加事件代理<br>
	 * 参数输入：sMethod : 方法名称
	 * 参数输入：objArgs : 更具方法名称，在该类方法中查找对应参数，或easyUI官网对应组件的方法中检索
	 * 函数返回：根据调用方法，返回相应的数值<br>
	 * 异常信息：无<br>
	 */
	callUiMethod : function(sMethod,objArgs){
		return this.getElement().calendar(sMethod,objArgs);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeCalendar.options<br>
	 * 函数功能：返回选项（options）对象。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	options : function(){
		return this.getElement().calendar('options');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeCalendar.resize<br>
	 * 函数功能：调整日历的尺寸。<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	resize : function(){
		return this.getElement().calendar('resize');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeCalendar.moveTo<br>
	 * 函数功能：移动日历到一个指定的日期。<br>
	 * 参数输入：新的日期 eg : new Date(2012, 6, 1)<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	moveTo : function(date){
		return this.getElement().calendar('moveTo',date);
	},
});